package com.molichuxing.services.property;

/**
 * 订阅里程订单状态枚举
 * 
 * @author zoumingyu
 * @date 2019年8月13日
 *
 */
public enum OrderSubscribeStatusEnum {
	/**
	 * 待付款
	 */
	TRADE_UNPAID(10, "待付款"),
	/**
	 * 已取消
	 */
	TRADE_CANCELED(0, "已取消"),
	/**
	 * 待审核
	 */
	TRADE_UNAUDIT(11, "待审核"),
	/**
	 * 待提车
	 */
	TRADE_UNDELIVERY(12, "待提车"),
	/**
	 * 用车中
	 */
	TRADE_USE(13, "用车中"),
	/**
	 * 待用车
	 */
	// TRADE_UNUSE(14, "待用车"),
	TRADE_UNUSE(14, "续订未生效"),
	/**
	 * 审核驳回
	 */
	TRADE_REJECTED(15, "审核驳回"),
	/**
	 * 退款中
	 */
	TRADE_REFUND(16, "退款中"),
	/**
	 * 交易结束
	 */
	TRADE_FINISH(17, "交易结束"),
	/**
	 * 审核通过
	 */
	TRADE_PASS(19, "审核通过"),
	/**
	 * 待验车
	 */
	RETURN_UNINSPECTED(20, "待验车"),
	/**
	 * 待用户确认
	 */
	// RETURN_UNCONFIRM(21, "待用户确认"),
	RETURN_UNCONFIRM(21, "待确认报告"),
	/**
	 * 协商
	 */
	RETURN_INTERVENE(22, "协商"),
	/**
	 * 未付款
	 */
	// RETURN_UNPAID(23, "未付款"),
	RETURN_UNPAID(23, "未结算"),
	/**
	 * 已完成
	 */
	RETURN_FINISH(24, "已完成");

	int value;
	String name;

	OrderSubscribeStatusEnum(int value, String name) {
		this.value = value;
		this.name = name;
	}

	public int getValue() {
		return value;
	}

	public String getName() {
		return name;
	}

	/**
	 * 通过value获取枚举的name
	 * 
	 * @param value
	 * @return
	 */
	public static String getName(int value) {
		OrderSubscribeStatusEnum enumerate = getEnum(value);
		return enumerate == null ? null : enumerate.getName();
	}

	/**
	 * 通过value获取枚举
	 * 
	 * @param value
	 * @return
	 */
	public static OrderSubscribeStatusEnum getEnum(int value) {
		for (OrderSubscribeStatusEnum enumerate : OrderSubscribeStatusEnum.values()) {
			if (enumerate.getValue() == value) {
				return enumerate;
			}
		}
		return null;
	}
}
